package com.xzj.admin.flow.service;

import com.xzj.admin.flow.domain.entity.FlowManager;
import com.xzj.admin.flow.domain.vo.FlowReqVo;
import com.xzj.admin.flow.domain.vo.FlowRespVo;
import com.xzj.common.datasource.domain.PageReq;
import com.xzj.common.datasource.domain.PageResp;

/**
 * @program: xzj-admin
 * @ClassName: FlowManagerService
 * @description: 流程管理;(flow_manager)表服务接口
 * @author: XiaZunJun
 * @create: 2024-9-27
 */
public interface FlowManagerService {
    /**
     * 通过ID查询单条数据
     *
     * @param flowId 主键
     * @return 实例对象
     */
    FlowManager queryById(String flowId);

    /**
     * 分页查询
     *
     * @param pageReq 分页筛选条件对象
     * @return 查询结果
     */
    PageResp<FlowManager> pageQuery(PageReq<FlowManager> pageReq);

    /**
     * 新增数据
     *
     * @param flowManager 实例对象
     * @return 实例对象
     */
    FlowManager insert(FlowManager flowManager);

    /**
     * 更新数据
     *
     * @param flowManager 实例对象
     * @return 实例对象
     */
    FlowManager update(FlowManager flowManager);

    /**
     * 通过主键删除数据
     *
     * @param flowId 主键
     * @return 是否成功
     */
    boolean deleteById(String flowId);

    void addFlowChart(FlowReqVo flowReqVo);

    FlowRespVo queryFlowChart(String flowId);
}
